获取本机的IP地址 首先获取本地的主机名称,QString hostname = QHostInfo::localHostName(); 然后根据主机名称,来获取"IP地址"。QHostInfo hostinfo = QHostInfo::fromName(hostname);但是这里的IP地址不只是IP地址。是一个总信息的集合 hostinfo中通过addresses()函数来直接获取地址列表:QList addList = hostinfo.addresses(); 剩下的内容就从这个列表中分离每一项的地址,然后判定是iPv4/ipv6.然后通过tostring()将其转换成字符串使用即可。 完整代码如下: QString MainWindow::getlockIp() { //获取IPv4地址 QString hostname = QHostInfo::localHostName(); QHostInfo hostinfo = QHostInfo::fromName(hostname); QString localip = ""; QList addList = hostinfo.addresses(); if(!addList.isEmpty()) for(int i = 0;i localip = aHost.toString(); break; } } return localip; }
|